//可以在 bind 的时候，只传一个 name，在执行返回的函数的时候，再传另一个参数 age!
Function.prototype.bind2=function(context){
    var self=this;//bar
    var args=Array.prototype.slice.call(arguments,1);
    console.log(arguments)
    // var args=arguments.slice(1)
    return function(){
        //获取绑定的参数
        var bindArgs=Array.prototype.slice.call(arguments);
        return self.apply(context,args.concat(bindArgs))
    }
}
var foo={
    value:1
}
function bar(name,age){
    console.log(this.value)
    console.log(name)
    console.log(age)
}
var resultFoo=bar.bind2(foo,'zhangsna')
console.log(resultFoo(11))